﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAO;
using Entidades;

namespace Negocio
{
    public class UsuarioRules
    {
        public UsuarioEntity ValidarUsuario(string user, string pass)
        {
            var dao = new UsuarioDAO();            
            return dao.ValidateUser(user, pass);
        }

        public void GuardarUsuario(UsuarioEntity usuario)
        {
            if (usuario != null)
            {
                var dao = new UsuarioDAO();
                dao.Update(usuario);
            }
        }

        public int CrearUsuario(UsuarioEntity usuario)
        {
            if (usuario == null)
            {
                return 0;
            }

            var dao = new UsuarioDAO();
            return dao.Insert(usuario);
        }

        public List<UsuarioEntity> SeleccionarUsuarioPorFiltro(string login)
        {
            var dao = new UsuarioDAO();
            var lista = dao.SelectAll();

            if (!String.IsNullOrEmpty(login))
            {
                lista = (from u in lista 
                                     where u.Login.StartsWith(login)
                                     select u).ToList<UsuarioEntity>();
            }

            return lista;
        }

        public void EliminarUsuario(int id)
        {
            var dao = new UsuarioDAO();
            dao.Delete(id);
        }

        public List<UsuarioEntity> SeleccionarTodos()
        {
            var dao = new UsuarioDAO();
            return dao.SelectAll();
        }

        public UsuarioEntity SeleccionarUsuarioID(int idUsuario)
        {
            var dao = new UsuarioDAO();
            return dao.Select(idUsuario);
        }
    }
}
